package edu.tfh.s2.ehkbot.unitTest;

import static org.junit.Assert.*;

import org.junit.Test;

import edu.tfh.s2.ehkbot.EHKBotMain;
import edu.tfh.s2.ehkbot.EHKBotMain.SimulationNichtMoeglich;
import edu.tfh.s2.ehkbot.gerete.EHKBot;
import edu.tfh.s2.ehkbot.gerete.sensoren.Kamera;

/**
 * 
 * EHKBot Fahrbetrieb aufnehmen: Zweck: EHKBot fährt durch das Geschäft.
 * 
 * Vorbedingung: Nachzustand: Erfolg: Der EHKBot ist im Fahrbetrieb. Misserfolg:
 * Der EHKBot nimmt nicht den Fahrbetrieb auf. Akteur: anderer Use-Case
 * Ereignis: -
 * 
 * Ablauf:
 * <pre>
 * 1. Das System prüft ob die IR-Abstandssensoren sich ansprechen lassen.
 * 2. Das System prüft ob die Kamera ein Bild Liefert. 
 * 3. Das System prüft ob die Luftdrucksensoren sich ansprechen lassen und ein Werte für den
 * Luftdruck liefern der im erwarteten Bereich ist. 
 * 4. Das System prüft ob die Druckschalter am Greifam offen sich. 
 * 5. Das System prüft ob die Kraftsensoren am Greifarm erwartet werte Liefern. 
 * 6. Das System prüft ob die Drehzahlmesser sich ansprechen lassen. 
 * 7. Das System prüft ob das IndoorGPSSimulation Werte liefert im erwarteten Bereich. 
 * 8. Das System prüft ob die Waage an der Hebebühne sich ansprechen lässt und ob der Wert im erwarteten Bereich liegt.
 * 9. Das System prüft den Ladezustand der Batterie.
 * </pre>
 */

/**
 * @author s2zehn
 * 
 */
public class Fahrbetriebaufnehmen {
	@Test
	public void FahrbetriebaufnehmenTestKamera() throws SimulationNichtMoeglich {
		EHKBotMain.enableSimulation();
		EHKBot bot = EHKBotMain.getInstance().getEHKBot();
		Kamera k = bot.getGreifarm().getGreifer().getKamera();
		assertNotNull("Kamera liefert kein Bild", k.getBild().getRawBild());
	}
}
